System and method for distributed internet group management protocol processing

ABSTRACT

A method may include receiving, at a network interface of a first network element, an Internet Group Management Protocol (IGMP) message from a second network element. The method may also include updating first multicast group data associated with the network interface based on the received IGMP message, the first multicast group data including one or more entries setting forth a multicast group and one or more other network elements which are members of the multicast group. The method may additionally include determining whether the second network element is the sole member of its multicast group based on the IGMP message and the first multicast group data. The method may further include forwarding the IGMP message to a switching element of the first network element in response to determining that the second network element is the sole member of its multicast group, the switching element communicatively coupled to the network interface.

TECHNICAL FIELD OF THE INVENTION

The present invention relates generally to networking and computingsystems and, more particularly, to a method and system for distributedInternet Management Group Protocol (IGMP) processing.

BACKGROUND

Telecommunications systems, cable televisions systems, and datacommunication networks use communication networks to rapidly conveylarge amounts of information between remote points. A communicationnetwork may include network elements that route packets through thenetwork. Some network elements may include a distributed architecture,wherein packet processing may be distributed among several subsystems ofthe network element (e.g., line cards).

Internet Group Management Protocol (IGMP) is a communications protocolused by hosts and adjacent routers on Internet Protocol (IP) networks toestablish multicast group memberships. However, IGMP is a highlycomputational protocol. For example, using traditional approaches, IGMPmay require: a very large number of timers in order to maintain protocolstate, generation of IGMP Group query for every multicast group,generation of IGMP General query for every Virtual Local Area Network(VLAN)/Level 2 Bridging Domain, processing of responses from activereceivers, processing of IGMP Leave messages, and periodic aging out ofgroups with no receivers. For a systems with large numbers of multicastgroups, the processing required by the IGMP protocol can easilyoverwhelm a system processor.

SUMMARY

In accordance with the present invention, disadvantages and problemsassociated with IGMP processing may be reduced or eliminated.

In accordance with embodiments of the present disclosure, a method mayinclude receiving, at a network interface of a first network element, anInternet Group Management Protocol (IGMP) message from a second networkelement communicatively coupled to the network interface. The method mayalso include updating first multicast group data associated with thenetwork interface based on the received IGMP message, the firstmulticast group data including one or more entries, each entry settingforth a multicast group and one or more other network elements which aremembers of the multicast group and communicatively coupled to thenetwork interface. The method may additionally include determiningwhether the second network element is the sole member of its multicastgroup based on the received IGMP message and the first multicast groupdata. The method may further include forwarding the received IGMPmessage to a switching element of the first network element in responseto determining that the second network element is the sole member of itsmulticast group, the switching element communicatively coupled to thenetwork interface.

One or more other technical advantages of the present disclosure may bereadily apparent to one skilled in the art from the figures,descriptions, and claims included herein.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention and itsfeatures and advantages, reference is now made to the followingdescription, taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 illustrates a block diagram of an example network, in accordancewith embodiments of the present disclosure;

FIG. 2 illustrates a flow chart of an example method for processing of aJoin message, in accordance with the present disclosure; and

FIG. 3 illustrates a flow chart of an example method for processing of aLeave message, in accordance with the present disclosure.

DETAILED DESCRIPTION

Embodiments of the present invention and its advantages are bestunderstood by referring to FIGS. 1-3, like numerals being used for likeand corresponding parts of the various drawings.

FIG. 1 illustrates a block diagram of an example network 10, inaccordance with certain embodiments of the present disclosure. Incertain embodiments, network 10 may be an Ethernet network. In these andother embodiments, network 10 may be an optical network. Network 10 mayinclude one or more transmission media 12 operable to transport one ormore signals communicated by components of network 10. The components ofnetwork 10, coupled together by transmission media 12, may include aplurality of network elements 102, and 112. In the illustrated network10, network elements 102, 112 may be coupled in a point-to-point manner.However, any suitable configuration of any suitable number of networkelements 102, 112 may create network 10. Although network 10 is shown asa point-to-point network, network 10 may also be configured as a ringnetwork, a mesh network, or any other suitable network or combination ofnetworks. Network 10 may be used in a short-haul metropolitan network, along-haul inter-city network, or any other suitable network orcombination of networks.

Each transmission medium 12 may include any system, device, or apparatusconfigured to communicatively couple network elements 102, 112 to eachother and communicate information between corresponding network elements102, 112. For example, a transmission medium 12 may include an opticalfiber, an Ethernet cable, a T1 cable, copper cable, SONET cable, a WiFisignal, a Bluetooth signal, or other suitable medium.

Network 10 may communicate information or “traffic” over transmissionmedia 12. As used herein, “traffic” means information transmitted,stored, or sorted in network 10. Such traffic may comprise optical orelectrical signals configured to encode audio, video, textual, and/orany other suitable data. The data may be real-time or non-real-time.Traffic may be communicated via any suitable communications protocol,including, without limitation, the Open Systems Interconnection (OSI)standard, Internet Protocol (IP), Internet Group Management Protocol(IGMP), and/or others. Additionally, the traffic communicated in network10 may be structured in any appropriate manner including, but notlimited to, being structured in frames, packets, or an unstructured bitstream. As used herein, the term “datagram” will be used to generallyreferred to any data structure used to convey traffic, including withoutlimitation a packet, a frame, an unstructured bit stream, or any othersuitable data structure.

Each network element 102, 112 in network 10 may comprise any suitablesystem operable to transmit and receive traffic. In the illustratedembodiment, each network element 102, 112 may be operable to transmittraffic directly to one or more other network elements 102, 112 andreceive traffic directly from the one or more other network elements102, 112. As shown in FIG. 1, network elements may include a centralnetwork element 102 and client network elements 112. Central networkelement 102 may be configured to perform maintenance and processing forone or more IGMP groups, while client network elements 112 may comprisemembers of one or more IGMP groups configured to send or receivemulticast data within network 10 (e.g., IGMP receivers).

As depicted in FIG. 1, network element 102 may include a switchingelement 104 and one or more network interfaces 106 communicativelycoupled to switching element 104.

Switching element 104 may include any suitable system, apparatus, ordevice configured to receive traffic via a port 110 and forward suchtraffic to a particular network interface 106 and/or port 110 based onanalyzing the contents of the datagrams carrying the traffic and/orbased on a characteristic of a signal carrying the datagrams (e.g., awavelength and/or modulation of the signal). For example, in certainembodiments, a switching element 104 may include a switch fabric (SWF).Switching element 104 may include a processor configured to interpretand/or execute program instructions and/or process data (e.g.,microprocessor, microcontroller, digital signal processor (DSP),application specific integrated circuit (ASIC), or any other digital oranalog circuitry configured to interpret and/or execute programinstructions and/or process data). In embodiments of the presentdisclosure, switching element 104 may perform functionality associatedwith processing of multicast data in accordance with IGMP andmaintenance of IGMP state (e.g., IGMP group membership) as described ingreater detail herein.

As shown in FIG. 1, switching element 104 may include multicast groupdata 114. Multicast group data 114 may comprise a database, map, list,and/or other suitable data structure having one or more entries, eachentry indicating one or more network interfaces 106 associated with amulticast group. As described below, network interfaces 106 may performprocessing and maintenance associated with multicast groups. Thus, anentry in multicast group data 114 indicating that a network interface106 is associated with a particular multicast group indicates that suchnetwork interface 106 is coupled to network elements 112 that aremembers of such particular multicast group, and such network interface106 performs processing and maintenance with respect to such networkelements 112.

Each network interface 106 may be communicatively coupled to switchingelement 104 and may include any suitable system, apparatus, or deviceconfigured to serve as an interface between network element 102 and atransmission medium 12. Each network interface 106 may enable networkelement 102 to communicate to other network elements 112 using anysuitable transmission protocol and/or standard. Network interface 106and its various components may be implemented using hardware, software,or any combination thereof. For example, in certain embodiments, one ormore network interfaces 106 may include a network interface card. In thesame or alternative embodiments, one or more network interfaces 106 mayinclude a line card.

In operation, a network interface 106 may be configured to receivetraffic via a port 110 and forward such traffic to switching element104. Switching element 104 may forward such traffic to another networkinterface 106 and/or port 110 based on an analysis of contents ofdatagrams carrying the traffic and/or based on a characteristic of asignal carrying the datagrams (e.g., a wavelength or modulation of thesignal). For example, in some embodiments, a network interface mayinclude a network processing unit capable of performing network trafficprocessing and forwarding. Network interface 106 may include a processorconfigured to interpret and/or execute program instructions and/orprocess data (e.g., microprocessor, microcontroller, digital signalprocessor (DSP), application specific integrated circuit (ASIC), or anyother digital or analog circuitry configured to interpret and/or executeprogram instructions and/or process data). In embodiments of the presentdisclosure, network interface may perform functionality associated withprocessing of multicast data in accordance with IGMP and maintenance ofIGMP state (e.g., IGMP group membership) as described in greater detailherein.

In addition, each network interface 106 may be configured to performIGMP processing and maintenance associated with network elements 112coupled to such network interface 106 including maintenance of timers,aging out of multicast group entries, programming of new entries andreceivers, and processing of Join and Leave messages from networkelements 112 coupled to such network interface 106. Accordingly, eachnetwork interface may be treated as a single entity for forwardingmulticast traffic to a specific multicast group. Accordingly, some IGMPprocessing and maintenance that is performed primarily by switchingelement 104 in traditional architectures may be instead be performed bynetwork interfaces 106, as described in this disclosure. Suchdistributed processing may reduce processing required by a centralizedswitching element 104 and provides scalability to allow for handling oflarge numbers of packets.

As depicted in FIG. 1, each of network interfaces 106 may include one ormore physical ports 110. Each physical port 110 may include any system,device or apparatus configured to serve as a physical interface betweena corresponding transmission medium 12 and network interface 106. Forexample, a physical port 110 may comprise an Ethernet port, an opticalport, or any other suitable port.

Also as shown in FIG. 1, switching element 104 may include multicastgroup data 116. Multicast group data 116 may comprise a database, map,list, and/or other suitable data structure having one or more entries,each entry indicating one or more network elements 112 associated with amulticast group. An entry in multicast group data 116 indicating that anetwork element 112 is associated with a particular multicast groupindicates that such network element 112 is a member of such particularmulticast group (e.g., a receiver of such multicast group).

In operation, all multicast source data streams may first be sent to thecentralized switching element from all network interface ports 110. Uponreceipt of a multicast stream from a multicast source, switching element104 may, based on information set forth in multicast group data 114,send only one copy of the multicast data stream to every networkinterface 106 which has one or more network elements 112 coupled theretowhich are members of the target multicast group of the stream. Uponreceipt of a multicast data frame by a network interface 106 from switchfabric 104, the network interface 106 may, based on information setforth in multicast group data 116, replicate the frame such that networkinterface 106 sends one copy of the frame to each network elementcoupled thereto which is a member of the target multicast group of theframe.

In addition, a network interface 106 may process all IGMP controlmessages (e.g., Leave, Join, etc.) and forward only IGMP messages toswitching element 104 associated with a first network element 112coupled to the network interface 106 to join a multicast group (e.g.,IGMP Join message) and associated with a last network element 112coupled to the network interface to leave a multicast group (e.g., IGMPLeave message). For example, the first IGMP Join message for a multicastgroup received on a port 110 of a network interface 106 may be forwardedto switching element 104 so that switching element 104 may create ofupdate multicast group data 114, thus allowing switching element 104 todirect multicast data traffic to the network interface 106. As anotherexample, the last IGMP Leave message for a multicast group received on aport 110 of a network interface may be forwarded to switching element104 so that it may delete or update multicast group data 114 so thatswitching element 104 no longer forwards multicast data traffic to thenetwork interface 106. Switching element 104 may perform only limitedIGMP processing and maintenance, including handling IGMP messagesreceived from network interfaces 106 in order to create entries inmulticast group data 114 for forwarding traffic for a multicast group toa specific network interface 106 (e.g., in response to IGMP Join messageforwarded from a network interface 106) and deleting an entry related toa specific network interface 106 as a receiver for a specific multicastgroup (e.g., in response to an IGMP Leave message forwarded from anetwork interface 106). Such functionality is further detailed withrespect to the discussion of FIGS. 2 and 3, below.

Network interfaces 106 may also undertake processing of other IGMPcontrol messages. For example, if network element 102 acts as the IGMPQuerier for a Virtual Local Area Network (VLAN), then the Querierfunctionality may be executed by a network interface 106 interfacingwith network elements 112 of a multicast group. A network interface 106may generate IGMP Group Specific Query and IGMP General Query messagesand handle responses to such messages. IGMP Join and Leave messagesreceived in response to query messages may be handled as describedabove. Accordingly, all network elements 112 see network element 102 asa single querier and not as individual network interfaces 106. Generatedquery messages may have a single IP address as the address of thequerier. Such IP address may be maintained in a central location withinnetwork element 102 (e.g., within multicast group data 114) may besupplied to individual network interfaces 106 to be used in IGMP Querymessages.

Similarly, if a network element 112 is acting as an IGMP Querier for anindividual VLAN, then all of the IGMP Query Response messages may behandled by switching element 104. Switching element may maintain a fullrecord of all multicast groups currently active in network 10 (e.g., inmulticast group data 114) and accordingly may reply to an IGMP Queryusing such information.

In addition, in response to a receipt of a spanning tree protocoltopology change notification (STP TCN), STP may instruct IGMP protocolto handle TCN (e.g., informs IGMP protocol at switching element 104).All STP TCN messages received on any port 110 on a network interface 106may be forwarded to switching element 104. Switching element 104 maythen forward all received STP TCN messages to all active networkinterfaces which have the VLAN active on them and have active receiversfor multicast groups. The network interfaces 106 may in turn processsuch TCNs received from switching element 104 in accordance withstandards of STP protocol, which may, for example, require deleting ofall multicast group entries from multicast group data 116 for such VLAN.

FIG. 2 illustrates a flow chart of an example method 200 for processingof a Join message, in accordance with embodiments of the presentdisclosure; and. According to one embodiment, method 200 may begin atstep 202. As noted above, teachings of the present disclosure may beimplemented in a variety of configurations of network 10. As such, thepreferred initialization point for method 200 and the order of the steps202-210 comprising method 200 may depend on the implementation chosen.

At step 202, a network interface (e.g., a network interface 106) mayreceive a IGMP Join message from a receiver (e.g., network element 112)indicating that the receiver is joining a multicast group. At step 204,in response to receipt of the Join message, the network interface maydetermine whether the receiver is the first member of a multicast groupand coupled to the network interface to join such multicast group (e.g.,whether the receiver will be the only receiver of the multicast groupcoupled to the network interface after joining the multicast group). Ifthe receiver is the first member of the multicast group, method 200 mayproceed to step 206. Otherwise, method 200 may proceed to step 210.

At step 206, in response to a determination that the Join message wassent from a receiver which was the first to join the multicast group andcoupled to the network interface, the network element may forward theJoin message to the switching element (e.g., switching element 104). Atstep 208, update its multicast group data to include an entryassociating the multicast group identified in the Join message to thenetwork interface forwarding the Join message. For example, in responseto receipt of the Join message, the switching element may examine itsmulticast group data (e.g., multicast group data 114) to determine if anentry already exists for the multicast group for which the Join messagehas been received. If an entry already exists in the multicast groupdata, the switching element may update its multicast group data toinclude the network element that forwarded the Join message, so thatmulticast data may be forwarded to such network interface. If no entryexists for the multicast group, the switching element may create a newentry in its multicast group data to include the network element thatforwarded the Join message, so that multicast data may be forwarded tosuch network interface.

At step 210, the network interface may update its multicast group datato include an entry associating the multicast group identified in theJoin message to the receiver sending the join message. After completionof step 210, method 200 may end.

Although FIG. 2 discloses a particular number of steps to be taken withrespect to method 200, method 200 may be executed with greater or lessersteps than those depicted in FIG. 2. In addition, although FIG. 2discloses a certain order of steps to be taken with respect to method200, the steps comprising method 200 may be completed in any suitableorder.

Method 200 may be implemented using network 10 or any other systemoperable to implement method 200. In certain embodiments, method 200 maybe implemented partially or fully in software and/or firmware embodiedin computer-readable media.

FIG. 3 illustrates a flow chart of an example method 300 for processingof a Leave message, in accordance with embodiments of the presentdisclosure. According to one embodiment, method 300 may begin at step302. As noted above, teachings of the present disclosure may beimplemented in a variety of configurations of network 10. As such, thepreferred initialization point for method 300 and the order of the steps302-310 comprising method 300 may depend on the implementation chosen.

At step 302, a network interface (e.g., a network interface 106) mayreceive a IGMP Leave message from a receiver (e.g., network element 112)indicating that the receiver is leaving a multicast group. At step 304,in response to receipt of the Leave message, the network interface maydetermine whether the receiver is the last remaining member of amulticast group and coupled to the network interface to leave suchmulticast group (e.g., whether the receiver is the only remainingreceiver of the multicast group). If the receiver is the last member ofthe multicast group, method 300 may proceed to step 306. Otherwise,method 300 may proceed to step 310.

At step 306, in response to a determination that the Leave message wassent from a receiver which was the last remaining member of themulticast group and coupled to the network interface, the networkelement may forward the Leave message to the switching element (e.g.,switching element 104). At step 308, in response to receipt of the joinmessage, the switching element may update its multicast group data toinclude remove the entry associating the multicast group identified inthe Leave message to the network interface forwarding the Leave message.For example, upon receipt of such a Leave message from a networkinterface, switching element may examine its multicast group data todetermine if an entry exists for the multicast group data. If an entryexists, the switching element may update the entry to delete the networkinterface which forwarded the Leave message as a receiver of themulticast data, so that multicast data is no longer forwarded to thenetwork interface. If the network interface forwarding the Leave messageis the only receiver in the multicast group (e.g., as set forth in themulticast group data of the switching element), then the switchingelement may delete the entry as there are no other network interfacesassociated with such multicast group.

At step 310, the network interface may update its multicast group datato include an entry associating the multicast group identified in theJoin message to the receiver sending the join message. After completionof step 310, method 300 may end.

Although FIG. 3 discloses a particular number of steps to be taken withrespect to method 300, method 300 may be executed with greater or lessersteps than those depicted in FIG. 3. In addition, although FIG. 3discloses a certain order of steps to be taken with respect to method300, the steps comprising method 300 may be completed in any suitableorder.

Method 300 may be implemented using network 10 or any other systemoperable to implement method 300. In certain embodiments, method 300 maybe implemented partially or fully in software and/or firmware embodiedin computer-readable media.

Through the addition and removal of entries in their respectivemulticast group data, as described above, the switching element and thenetwork interface may appropriately forward multicast traffic to membersof multicast groups.

Modifications, additions, or omissions may be made to network 10 withoutdeparting from the scope of the disclosure. The components and elementsof network 10 described may be integrated or separated according toparticular needs. Moreover, the operations of network 10 may beperformed by more, fewer, or other components.

A component of network 10 and/or a network element 102 may include aninterface, logic, memory, and/or other suitable element. An interfacereceives input, sends output, processes the input and/or output, and/orperforms other suitable operations. An interface may comprise hardwareand/or software.

Logic performs the operations of the component, for example, executesinstructions to generate output from input. Logic may include hardware,software, and/or other logic. Logic may be encoded in one or moretangible computer readable storage media and may perform operations whenexecuted by a computer. Certain logic, such as a processor, may managethe operation of a component. Examples of a processor include one ormore computers, one or more microprocessors, one or more applications,and/or other logic.

A memory stores information. A memory may comprise one or more tangible,computer-readable, and/or computer-executable storage medium. Examplesof memory include computer memory (for example, Random Access Memory(RAM) or Read Only Memory (ROM)), mass storage media (for example, ahard disk), removable storage media (for example, a Compact Disk (CD) ora Digital Video Disk (DVD)), database and/or network storage (forexample, a server), and/or other computer-readable medium.

Modifications, additions, or omissions may be made to network 10 and/ora network element 102 without departing from the scope of the invention.The components of network 10 and/or network element 102 may beintegrated or separated. Moreover, the operations of network 10 and/ornetwork element 102 may be performed by more, fewer, or othercomponents. Additionally, operations of network 10 and/or a networkelement 102 may be performed using any suitable logic. As used in thisdocument, “each” refers to each member of a set or each member of asubset of a set.

Although this disclosure has been described in terms of certainembodiments, alterations and permutations of the embodiments will beapparent to those skilled in the art. Accordingly, the above descriptionof the embodiments does not constrain this disclosure. Other changes,substitutions, and alterations are possible without departing from thespirit and scope of this disclosure, as defined by the following claims.

What is claimed is:
 1. A network element, comprising: a switchingelement; one or more network interfaces communicatively coupled to theswitching element, each particular network interface of the one or morenetwork interfaces configured to: receive an Internet Group ManagementProtocol (IGMP) message from a second network element communicativelycoupled to the particular network interface; update first multicastgroup data associated with the particular network interface based on thereceived IGMP message, the first multicast group data including one ormore entries, each entry setting forth a multicast group and one or moreother network elements which are members of the multicast group andcommunicatively coupled to the particular network interface; determinewhether the second network element is the sole member of its multicastgroup based on the received IGMP message and the first multicast groupdata; and forward the received IGMP message to the switching element inresponse to determining that the second network element is the solemember of its multicast group.
 2. A network element according to claim1, wherein: the received IGMP message is a Join message; and determiningwhether the second network element is the sole member of its multicastgroup based on the received IGMP message and the first multicast groupdata comprises determining whether the second network element is thefirst member of the multicast group.
 3. A network element according toclaim 1, wherein: the received IGMP message is a Leave message; anddetermining whether the second network element is the sole member of itsmulticast group based on the received IGMP message and the firstmulticast group data comprises determining whether the second networkelement is the last member of the multicast group.
 4. A network elementaccording to claim 1, the switching element configured to, in responseto receipt of the IGMP message forwarded from one of the one or morenetwork interfaces, update second multicast group data associated withthe switching element, the second multicast group data including one ormore entries, each entry setting forth a multicast group and one or moreof the one or more network interfaces which are communicatively coupledto members of the multicast group.
 5. A network element according toclaim 4, the switching element configured to forward multicast trafficframes to the one or more network interfaces based on the secondmulticast group data.
 6. A network element according to claim 1, theparticular network interface configured to forward multicast trafficframes to one or more other network elements based on the firstmulticast group data.
 7. A network element according to claim 1, theparticular network interface configured to: generate IGMP Group SpecificQuery and IGMP General Query messages; and process responses to IGMPGroup Specific Query and IGMP General Query messages.
 8. A networkelement according to claim 1, the switching element configured to replyto an IGMP Query received by the network element.
 9. A network elementaccording to claim 1: the switching element configured to, in responseto receipt of a spanning tree protocol topology change notification(TCN), forward the TCN to the one or more network interfaces based onthe second multicast group data, such that the TCN is forwarded to oneor more network interfaces coupled to network elements affected by theTCN; and the one or more network interfaces configured to process theTCN message.
 10. A method, comprising: receiving, at a network interfaceof a first network element, an Internet Group Management Protocol (IGMP)message from a second network element communicatively coupled to thenetwork interface; updating first multicast group data associated withthe network interface based on the received IGMP message, the firstmulticast group data including one or more entries, each entry settingforth a multicast group and one or more other network elements which aremembers of the multicast group and communicatively coupled to thenetwork interface; determining whether the second network element is thesole member of its multicast group based on the received IGMP messageand the first multicast group data; and forwarding the received IGMPmessage to a switching element of the first network element in responseto determining that the second network element is the sole member of itsmulticast group, the switching element communicatively coupled to thenetwork interface.
 11. A method according to claim 10, wherein: thereceived IGMP message is a Join message; and determining whether thesecond network element is the sole member of its multicast group basedon the received IGMP message and the first multicast group datacomprises determining whether the second network element is the firstmember of the multicast group.
 12. A method according to claim 10,wherein: the received IGMP message is a Leave message; and determiningwhether the second network element is the sole member of its multicastgroup based on the received IGMP message and the first multicast groupdata comprises determining whether the second network element is thelast member of the multicast group.
 13. A method according to claim 10,further comprising updating second multicast group data associated withthe switching element in response to receipt of the IGMP messageforwarded from one of the one or more network interfaces, the secondmulticast group data including one or more entries, each entry settingforth a multicast group and one or more of the one or more networkinterfaces which are communicatively coupled to members of the multicastgroup.
 14. A method according to claim 13, further comprising forwardingmulticast traffic frames by the switching element to the one or morenetwork interfaces based on the second multicast group data.
 15. Amethod according to claim 10, further comprising forwarding multicasttraffic frames by the network interface to one or more other networkelements based on the first multicast group data.
 16. A method accordingto claim 10, further comprising: generating, by the network interface,IGMP Group Specific Query and IGMP General Query messages; andprocessing, by the network interface, responses to IGMP Group SpecificQuery and IGMP General Query messages.
 17. A method according to claim10, further comprising replying, by the switching element, to an IGMPQuery received by the network element.
 18. A method according to claim10: in response to receipt of a spanning tree protocol topology changenotification (TCN), forwarding, by the switching element, the TCN to theone or more network interfaces based on the second multicast group data,such that the TCN is forwarded to one or more network interfaces coupledto network elements affected by the TCN; and processing, by the one ormore network interfaces, the TCN message.